CONFIG -= qt

TEMPLATE = lib
CONFIG += staticlib

CONFIG += c++14

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS
DEFINES += __STDC_FORMAT_MACROS
DEFINES += MBEDTLS_SSL_DTLS_SRTP
HOME_BASE=../
INCLUDEPATH += $$HOME_BASE/include
INCLUDEPATH += $$HOME_BASE/thirdparty/include
INCLUDEPATH += $$HOME_BASE/thirdparty/user_include
INCLUDEPATH += $$HOME_BASE/thirdparty/user_include/gmssl
INCLUDEPATH += $$HOME_BASE/thirdparty/user_include/mbedtls3
INCLUDEPATH += $$HOME_BASE/libbperrtccore/src

unix{
  CONFIG(debug, debug|release) {
        DESTDIR += $$HOME_BASE/bin/lib_debug
    }else{

        DESTDIR += $$HOME_BASE/bin/lib_release
    }
}
win32{
    DEFINES += _AMD64_
    INCLUDEPATH += $$HOME_BASE\thirdparty\include\win
  CONFIG(debug, debug|release) {
        DESTDIR += $$HOME_BASE\bin\lib_win_debug
    }else{
        DESTDIR += $$HOME_BASE\bin\lib_win_release
    }

    msvc{
        QMAKE_CFLAGS += /utf-8
        QMAKE_CXXFLAGS += /utf-8
       # QMAKE_CXXFLAGS += /source-charset:utf-8 /execution-charset:utf-8
        DEFINES +=HAVE_STRUCT_TIMESPEC
        DEFINES +=WIN32_LEAN_AND_MEAN
        INCLUDEPATH += $$HOME_BASE\thirdparty\include\win\include
    }

}
# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    src/bperavutil/BPerAudioMix.c \
    src/bperavutil/BPerAudioUtil.c \
    src/bperavutil/BPerConvert.c \
    src/bperavutil/BPerMeta.c \
    src/bperavutil/BPerNalu.c \
    src/bperavutil/BPerPreProcess.c \
    src/bperavutil/BPerResample.c \
    src/bperavutil/BPerRtcAec.c \
    src/bperavutil/BPerSpspps.c \
    src/bperavutil/BPerYuvUtil.c \
    src/bperice/BPerIce.c \
    src/bperice/BPerRtcSocket.c \
    src/bperice/BPerRtcStun.c \
    src/bperice/BPerTurnConnection.c \
    src/bperjson/BPerJson.c \
    src/bperjson/BPerJsonImpl.c \
    src/bperp2p/BPerP2pConnection.c \
    src/bperp2p/BPerP2pConnection2.c \
    src/bperrtc/BPerBandwidth.c \
    src/bperrtc/BPerDatachannel.c \
    src/bperrtc/BPerPeerConnection.c \
    src/bperrtc/BPerPlayStream.c \
    src/bperrtc/BPerPlayTrack.c \
    src/bperrtc/BPerPlayTrackAudio.c \
    src/bperrtc/BPerPlayTrackH264.c \
    src/bperrtc/BPerPlayTrackH265.c \
    src/bperrtc/BPerPlayTrackVideo.c \
    src/bperrtc/BPerPush.c \
    src/bperrtc/BPerPushAudio.c \
    src/bperrtc/BPerPushH264.c \
    src/bperrtc/BPerPushH265.c \
    src/bperrtc/BPerPushStream.c \
    src/bperrtc/BPerRtcConnection.c \
    src/bperrtc/BPerRtcContext.c \
    src/bperrtc/BPerRtcRtcp.c \
    src/bperrtc/BPerRtcStats.c \
    src/bperrtc/BPerRtcTwcc.c \
    src/bperrtc/BPerStreamUrl.c \
    src/bperrtp/BPerPublishNackBuffer.c \
    src/bperrtp/BPerReceiveNackBuffer.c \
    src/bperrtp/BPerRtcp.c \
    src/bperrtp/BPerRtcpApp.c \
    src/bperrtp/BPerRtcpBye.c \
    src/bperrtp/BPerRtcpCommon.c \
    src/bperrtp/BPerRtcpCompound.c \
    src/bperrtp/BPerRtcpNack.c \
    src/bperrtp/BPerRtcpPli.c \
    src/bperrtp/BPerRtcpPsfbCommon.c \
    src/bperrtp/BPerRtcpRR.c \
    src/bperrtp/BPerRtcpRpsi.c \
    src/bperrtp/BPerRtcpSR.c \
    src/bperrtp/BPerRtcpSli.c \
    src/bperrtp/BPerRtcpTWCC.c \
    src/bperrtp/BPerRtcpXr.c \
    src/bperrtp/BPerRtp.c \
    src/bperrtp/BPerRtpBuffer.c \
    src/bperrtp/BPerRtpFUAPayload.c \
    src/bperrtp/BPerRtpFUAPayload2.c \
    src/bperrtp/BPerRtpHeader.c \
    src/bperrtp/BPerRtpPacket.c \
    src/bperrtp/BPerRtpRawPayload.c \
    src/bperrtp/BPerRtpRecvNack.c \
    src/bperrtp/BPerRtpSTAPPayload.c \
    src/bpersdp/BPerAnswerSdp.c \
    src/bpersdp/BPerAudioPayload.c \
    src/bpersdp/BPerCodecPayload.c \
    src/bpersdp/BPerMediaDesc.c \
    src/bpersdp/BPerMediaPayloadType.c \
    src/bpersdp/BPerRedPayload.c \
    src/bpersdp/BPerRtcSdp.c \
    src/bpersdp/BPerRtxPayloadDes.c \
    src/bpersdp/BPerSSRCInfo.c \
    src/bpersdp/BPerSdp.c \
    src/bpersdp/BPerSdpHandle.c \
    src/bpersrs/BPerSrsConnection.c \
    src/bperssl/BPerDtlsMbedtls.c \
    src/bperssl/BPerDtlsOpenssl.c \
    src/bperssl/BPerSslMbedtls.c \
    src/bperssl/BPerSslOpenssl.c \
    src/bperstream/BPerStream.c \
    src/bperstream/BPerStreamCapture.c \
    src/bperstream/BPerStreamRtc.c \
    src/bperutil/buffer2/BPerMediaBuffer2.c \
    src/bperutil/buffer2/BPerSortBuffer.c \
    src/bperutil/buffer2/BPerVideoEncoderBuffer2.c \
    src/bperutil/sys/BPerAvtype.c \
    src/bperutil/sys/BPerBuffer.c \
    src/bperutil/sys/BPerCLog.c \
    src/bperutil/sys/BPerCString.c \
    src/bperutil/sys/BPerCTimer.c \
    src/bperutil/sys/BPerEndian.c \
    src/bperutil/sys/BPerFile.c \
    src/bperutil/sys/BPerHttp.c \
    src/bperutil/sys/BPerIni.c \
    src/bperutil/sys/BPerLibHandle.c \
    src/bperutil/sys/BPerMath.c \
    src/bperutil/sys/BPerSRtp.c \
    src/bperutil/sys/BPerSctp.c \
    src/bperutil/sys/BPerSocket.c \
    src/bperutil/sys/BPerSocketIP.c \
    src/bperutil/sys/BPerSsrc.c \
    src/bperutil/sys/BPerThread.c \
    src/bperutil/sys/BPerTime.c \
    src/bperutil/sys/BPerUrl.c \
    src/bperutil/sys/BPerVector.c \
    src/bperutil/sys/BPerWebsocket.c \
    src/bperwhip/BPerWhip.c \
    src/bperzlm/BPerZlmConnection.c


HEADERS += \
    src/bperice/BPerIce.h \
    src/bperice/BPerRtcSocket.h \
    src/bperice/BPerRtcStun.h \
    src/bperice/BPerTurnConnection.h \
    src/bperjson/BPerJsonImpl.h \
    src/bpermqtt/BPerMqttImpl.h \
    src/bperp2p/BPerP2pConnection.h \
    src/bperp2p/BPerP2pConnection2.h \
    src/bperrtc/BPerBandwidth.h \
    src/bperrtc/BPerDatachannel.h \
    src/bperrtc/BPerPlay.h \
    src/bperrtc/BPerPlayStream.h \
    src/bperrtc/BPerPlayTrack.h \
    src/bperrtc/BPerPlayTrackAudio.h \
    src/bperrtc/BPerPlayTrackH.h \
    src/bperrtc/BPerPlayTrackH264.h \
    src/bperrtc/BPerPlayTrackH265.h \
    src/bperrtc/BPerPlayTrackVideo.h \
    src/bperrtc/BPerPush.h \
    src/bperrtc/BPerPushAudio.h \
    src/bperrtc/BPerPushH.h \
    src/bperrtc/BPerPushH264.h \
    src/bperrtc/BPerPushH265.h \
    src/bperrtc/BPerPushStream.h \
    src/bperrtc/BPerPushStreamH.h \
    src/bperrtc/BPerRtcConnection.h \
    src/bperrtc/BPerRtcContext.h \
    src/bperrtc/BPerRtcContextH.h \
    src/bperrtc/BPerRtcRtcp.h \
    src/bperrtc/BPerRtcSession.h \
    src/bperrtc/BPerRtcStats.h \
    src/bperrtc/BPerRtcStream.h \
    src/bperrtc/BPerRtcTwcc.h \
    src/bperrtc/BPerStreamUrl.h \
    src/bperrtp/BPerPublishNackBuffer.h \
    src/bperrtp/BPerReceiveNackBuffer.h \
    src/bperrtp/BPerRtcp.h \
    src/bperrtp/BPerRtcpApp.h \
    src/bperrtp/BPerRtcpBye.h \
    src/bperrtp/BPerRtcpCommon.h \
    src/bperrtp/BPerRtcpCompound.h \
    src/bperrtp/BPerRtcpNack.h \
    src/bperrtp/BPerRtcpPli.h \
    src/bperrtp/BPerRtcpPsfbCommon.h \
    src/bperrtp/BPerRtcpRR.h \
    src/bperrtp/BPerRtcpRpsi.h \
    src/bperrtp/BPerRtcpSR.h \
    src/bperrtp/BPerRtcpSli.h \
    src/bperrtp/BPerRtcpTWCC.h \
    src/bperrtp/BPerRtcpXr.h \
    src/bperrtp/BPerRtp.h \
    src/bperrtp/BPerRtpBuffer.h \
    src/bperrtp/BPerRtpConstant.h \
    src/bperrtp/BPerRtpFUAPayload.h \
    src/bperrtp/BPerRtpFUAPayload2.h \
    src/bperrtp/BPerRtpHeader.h \
    src/bperrtp/BPerRtpPacket.h \
    src/bperrtp/BPerRtpRawPayload.h \
    src/bperrtp/BPerRtpRecvNack.h \
    src/bperrtp/BPerRtpSTAPPayload.h \
    src/bpersdp/BPerAnswerSdp.h \
    src/bpersdp/BPerAudioPayload.h \
    src/bpersdp/BPerCodecPayload.h \
    src/bpersdp/BPerMediaDesc.h \
    src/bpersdp/BPerMediaPayloadType.h \
    src/bpersdp/BPerRedPayload.h \
    src/bpersdp/BPerRtcSdp.h \
    src/bpersdp/BPerRtxPayloadDes.h \
    src/bpersdp/BPerSSRCInfo.h \
    src/bpersdp/BPerSdp.h \
    src/bpersdp/BPerSdpHandle.h \
    src/bpersdp/BPerSdpType.h \
    src/bpersrs/BPerSrsConnection.h \
    src/bperssl/BPerRtcDtls.h \
    src/bperstream/BPerStreamRtc.h \
    src/bperutil/buffer2/BPerSortBuffer.h \
    src/bperutil/sys/BPerSctp.h \
    src/bperzlm/BPerZlmConnection.h


# Default rules for deployment.
unix {
    target.path = $$[QT_INSTALL_PLUGINS]/generic
}
!isEmpty(target.path): INSTALLS += target
